package com.mall.dw.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.mall.dw.model.HotGoods;
import com.mall.dw.util.DruidPage;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

import java.util.List;
import java.util.Map;

/**
 * @author Darren
 * @date 2022-10-14 9:47
 * Description：
 */
public interface IHotGoodsService extends IService<HotGoods> {

    /**
     * 查询前N条记录
     *
     * @param size
     * @return
     */
    List<HotGoods> topNum(Integer size);

    /**
     * 分页查询
     *
     * @param size
     * @param page
     * @return
     */
    DruidPage<List<HotGoods>> pageList(Integer page, Integer size);

    /**
     * 分页查询 + 排序
     *
     * @param page
     * @param size
     * @param sort
     * @param sortType
     * @return
     */
    DruidPage<List<HotGoods>> pageListSort(Integer page, Integer size, String sort, String sortType);

    /**
     * 根据时间查询,返回此时间内的数据
     *
     * @param size
     * @param hour
     * @return
     */
    List<HotGoods> listByTime(Integer size, Integer hour);

    /**
     * 根据时间查询,返回此时间内的数据 + 排除指定数据
     *
     * @param size
     * @param hour
     * @param urls
     * @return
     */
    List<HotGoods> listByTimeAndExclude(Integer size, Integer hour, String[] urls);

    /**
     * 热门商品查询
     *
     * @param size
     * @param hour
     * @param urls
     * @param max
     * @return
     */
    List<Map<String, String>> searchHotGoods(Integer size, Integer hour, String[] urls, Integer max);

}
